package edu.sandau.basic.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.time.LocalDateTime;


@Data
@Schema(description = "用户信息对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserVo {
    @JsonProperty("userName")
    @Schema(description = "用户名", example = "user")
    private String userName;

    @JsonProperty("enname")
    @Schema(description = "英文名", example = "user_en")
    private String enName;

    @Schema(description = "密码", example = "123456")
    private String password;

    @Schema(description = "手机号", example = "13800001111")
    private String mobile;

    @Schema(description = "邮箱", example = "user@163.com")
    private String email;

    @Schema(description = "生日", example = "2000-01-01")
    private LocalDate birthday;

    @Schema(description = "头像URL", example = "https://xxx.com/1.png")
    private String profileUrl;

    @JsonProperty("isActive")
    @Schema(description = "是否启用", example = "true")
    private Boolean isActive;

    @Schema(description = "创建时间", example = "2025-10-13T19:00:07.363Z")
    private LocalDateTime createDateTime;

    @Schema(description = "更新时间", example = "2025-10-13T19:00:07.363Z")
    private LocalDateTime updateDateTime;

    @Schema(description = "创建人ID", example = "1")
    private Integer createPerson;

    @Schema(description = "更新人ID", example = "1")
    private Integer updatePerson;
}


